package com.industrial.premu.service.impl;

import java.util.Date;
import java.util.List;
import com.industrial.common.core.utils.DateUtils;
import com.industrial.common.core.utils.uuid.IdUtils;
import com.industrial.common.security.utils.SecurityUtils;
import com.industrial.premu.domain.PreMuUpshift;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.industrial.premu.mapper.PreMuDownshiftMapper;
import com.industrial.premu.domain.PreMuDownshift;
import com.industrial.premu.service.IPreMuDownshiftService;

/**
 * 减档Service业务层处理
 * 
 * @author ZhouS
 * @date 2024-01-24
 */
@Service
public class PreMuDownshiftServiceImpl implements IPreMuDownshiftService 
{
    @Autowired
    private PreMuDownshiftMapper preMuDownshiftMapper;

    /**
     * 查询减档
     * 
     * @param id 减档主键
     * @return 减档
     */
    @Override
    public PreMuDownshift selectPreMuDownshiftById(String id)
    {
        return preMuDownshiftMapper.selectPreMuDownshiftById(id);
    }

    /**
     * 查询减档列表
     * 
     * @param preMuDownshift 减档
     * @return 减档
     */
    @Override
    public List<PreMuDownshift> selectPreMuDownshiftList(PreMuDownshift preMuDownshift)
    {
        String district= SecurityUtils.getLoginUser().getSysUser().getDistrict();
        preMuDownshift.setCounty(district);
        return preMuDownshiftMapper.selectPreMuDownshiftList(preMuDownshift);
    }

    /**
     * 新增减档
     * 
     * @param preMuDownshift 减档
     * @return 结果
     */
    @Override
    public int insertPreMuDownshift(PreMuDownshift preMuDownshift)
    {

        String district= SecurityUtils.getLoginUser().getSysUser().getDistrict();
      /*  PreMuDownshift preMuDownshiftSelect=new PreMuDownshift();
        preMuDownshiftSelect.setCounty(district);
        preMuDownshiftSelect.setEnterType(preMuDownshift.getEnterType());
        List<PreMuDownshift>  list=preMuDownshiftMapper.selectPreMuDownshiftList(preMuDownshiftSelect);
        if(list!=null&&list.size()!=0){
            Integer downShiftNoMax = list.stream().map(a -> {
                String downshiftNo = a.getDownshiftNo();
                return Integer.valueOf(downshiftNo);
            }).max(Integer::compare).get();
            preMuDownshift.setDownshiftNo(String.valueOf(downShiftNoMax+1));
        }else{
            preMuDownshift.setDownshiftNo("1");
        }*/
        preMuDownshift.setCounty(district);
        preMuDownshift.setId(IdUtils.simpleUUID());
        preMuDownshift.setCreateTime(new Date());
        return preMuDownshiftMapper.insertPreMuDownshift(preMuDownshift);
    }

    /**
     * 修改减档
     * 
     * @param preMuDownshift 减档
     * @return 结果
     */
    @Override
    public int updatePreMuDownshift(PreMuDownshift preMuDownshift)
    {
        return preMuDownshiftMapper.updatePreMuDownshift(preMuDownshift);
    }

    /**
     * 批量删除减档
     * 
     * @param ids 需要删除的减档主键
     * @return 结果
     */
    @Override
    public int deletePreMuDownshiftByIds(String[] ids)
    {
        return preMuDownshiftMapper.deletePreMuDownshiftByIds(ids);
    }

    /**
     * 删除减档信息
     * 
     * @param id 减档主键
     * @return 结果
     */
    @Override
    public int deletePreMuDownshiftById(String id)
    {
        return preMuDownshiftMapper.deletePreMuDownshiftById(id);
    }
}
